//更新视频课程
exports.updateOrganizationVideo = function(req,res) {
//平台通知列表
    //获取restful参数
    var bodyParams = req.routeInfo.bodyParams;
    var ov_id = bodyParams.ov_id;
    var ov_skin_id = bodyParams.ov_skin_id;    //皮肤id
    var ov_title_image = bodyParams.ov_title_image;    //封面图
    var ov_title_imgae_th = bodyParams.ov_title_imgae_th;    //封面缩略图
    var ov_title_image_text = bodyParams.ov_title_image_text;    //封面图上的文字
    var ov_title_image_text_style = bodyParams.ov_title_image_text_style;    //封面图上的文字样式
    var ov_title = bodyParams.ov_title;    //标题
    var ov_old_price = bodyParams.ov_old_price;    //原价
    var ov_now_price = bodyParams.ov_now_price;    //现价
    var ov_category_text = bodyParams.ov_category_text;    //类别名称
    var old_ov_course_type = 0;
    var old_ov_series_time = 0;
    var ov_course_type = bodyParams.ov_course_type;    //课程类型   0 单次课  1 系列课程
    var ov_course_style = bodyParams.ov_course_style;   //课程形式 0-试听 1-大师  2-常规'
//  var ov_tags = bodyParams.ov_tags;    //标签
    var ov_coupon_id = bodyParams.ov_coupon_id;    //代金券id
    var ov_coupon_type = bodyParams.ov_coupon_type;    //代金劵的类型 0-代金劵 1-约课劵 2-兑换卷
    var ov_video_address = bodyParams.ov_video_address;    //视频地址
    var ov_oid = bodyParams.ov_oid;    //所属机构id
    var ov_series_time = bodyParams.ov_series_time;    //如果是系列课程  这里要次数
    var ov_video_time = bodyParams.ov_video_time;    //视频时间长度
    var video_content = bodyParams.video_content;    //这里是内容拼接好的数组
    var ov_teacher_name = bodyParams.ov_teacher_name;    //这里是内容拼接好的数组


    var videoSeries = [] //系列课程列表
    //最终结果
    var resultData = {};

    //任务流创建
    async.waterfall([
        //查询几个修改对程序有影响的字段
        function(cb){
            console.log("1111111");
            R.SEND_HTTP(
                req,
                {
                    url    : CORE_APIConfig.coreAPI.searchOrganizationVideo+"/ov_id/"+ov_id  ,
                    method : 'GET',
                },
                function (err, data) {
                    if (err) {
                        return cb(err, data);
                    }
                    old_ov_course_type = data.data[0].ov_course_type; //修改之前的课程类型 0单次课程 1 系列课程
                    old_ov_series_time = data.data[0].ov_series_time;
                    cb();
                }
            );
        },
        //判断单次课和系列课程
        function(cb){
            console.log("2222222")
            if(old_ov_course_type == 0){//如果原来是单次课
                if(ov_course_type == 0 ){
                    //这里是单次课改为单次课 啥都不用动

                    cb()
                }else if(ov_course_type == 1){
                    //单次课修改成了系列课程，给系列课程表中添加数据
                    if(ov_series_time < 1){
                        RES.response(res,false,"请输入正确的集数");
                    }
                    //根据用户传的几 我先拼接一个长度为几的数组
                    var tempArr = [];
                    for(var i = 1; i<=ov_series_time ; i++){
                        var tempJson = {"ovs_order":i};
                        tempArr.push(tempJson) ;
                    }
                    //这里已经拿到了创建好的数组  循环添加
                    var tasks = [];
                    //循环节点列表
                    tempArr.forEach(function (item, i) {
                        //创建每一个插入任务
                        tasks.push(function (cb) {
                            R.SEND_HTTP(
                                req,
                                {
                                    url    : CORE_APIConfig.coreAPI.addOrganizationVideoSeries,
                                    method : 'POST',
                                    data : {
                                        "ovs_ovid":ov_id,
                                        "ovs_title":"",
                                        "ovs_order":item.ovs_order,
                                        "ovs_video_address":"",
                                        "ovs_video_time":"",
                                    }
                                },
                                function (err, data) {
                                    //console.log("拼团");
                                    if(err){
                                        return cb(err, data);
                                    }
                                    cb();
                                }
                            );

                        });

                    });
                    async.waterfall(tasks, cb);

                }

            }else if(old_ov_course_type == 1){ //如果之前是系列课程
                if(ov_course_type == 0){
                    //这里是系列课程改成了单次课  删除系列课程中是视频信息
                    R.SEND_HTTP(
                        req,
                        {
                            url    : CORE_APIConfig.coreAPI.deleteOrganizationVideoSeries ,
                            method : 'POST',
                            data:{
                                "ovs_ovid":ov_id,
                            }
                        },
                        function (err, data) {
                            if (err) {
                                return cb(err, data);
                            }
                            cb();
                        }
                    );
                }else if(ov_course_type == 1){
                    //系列课程改成课系列课程
                    //如果两次的级数一模一样 啥都不动
                    if(ov_series_time == old_ov_series_time){
                        cb()
                    }
                    //如果原来的集数 大于 现在的级数 删除
                    if(old_ov_series_time > ov_series_time){
                        //这里算要删除多少集
                        console.log("原来"+old_ov_series_time)
                        console.log("现在"+ov_series_time)
                        var tempArr = [];
                        for(var j = old_ov_series_time; j > ov_series_time;j--){
                            tempArr.push(j);//这个数组已经获取到了要删除的集数
                        }
                        console.log("要删除的集")
                        console.log(tempArr)
                        //循环删除
                        var tasks = [];
                        //循环节点列表
                        tempArr.forEach(function (item, i) {
                            //创建每一个插入任务
                            tasks.push(function (cb) {
                                R.SEND_HTTP(
                                    req,
                                    {
                                        url    : CORE_APIConfig.coreAPI.deleteOrganizationVideoSeries,
                                        method : 'POST',
                                        data : {
                                            "ovs_ovid":ov_id,
                                            "ovs_order":item,
                                        }
                                    },
                                    function (err, data) {
                                        //console.log("拼团");
                                        if(err){
                                            return cb(err, data);
                                        }
                                        cb();
                                    }
                                );

                            });

                        });
                        async.waterfall(tasks, cb);
                    }
                    //如果修改的集数比原来的集数大
                    if(old_ov_series_time < ov_series_time){
                        var tempArr = [];
                        for(var i = old_ov_course_type + 1 ;i<=ov_series_time;i++){
                            tempArr.push(i);//这个数组已经获取到了要删除的集数
                        }
                        //循环添加
                        var tasks = [];
                        //循环节点列表
                        tempArr.forEach(function (item, i) {
                            //创建每一个插入任务
                            tasks.push(function (cb) {
                                R.SEND_HTTP(
                                    req,
                                    {
                                        url    : CORE_APIConfig.coreAPI.addOrganizationVideoSeries,
                                        method : 'POST',
                                        data : {
                                            "ovs_ovid":ov_id,
                                            "ovs_order":item,
                                        }
                                    },
                                    function (err, data) {
                                        //console.log("拼团");
                                        if(err){
                                            return cb(err, data);
                                        }
                                        cb();
                                    }
                                );

                            });

                        });
                        async.waterfall(tasks, cb);

                    }

                }

            }

        },

        //修改视频的基本信息
        function(cb){
            console.log("3333333333")
            R.SEND_HTTP(
                req,
                {
                    url    : CORE_APIConfig.coreAPI.updateOrganizationVideo,
                    method : 'POST',
                    data:{
                        "ov_id":ov_id,
                        "ov_skin_id":ov_skin_id,
                        "ov_title_image":ov_title_image,
                        "ov_title_imgae_th":ov_title_imgae_th,
                        "ov_title_image_text":ov_title_image_text,
                        "ov_title_image_text_style":ov_title_image_text_style,
                        "ov_title":ov_title,
                        "ov_old_price":ov_old_price,
                        "ov_now_price":ov_now_price,
                        "ov_category_text":ov_category_text,
                        "ov_course_style":ov_course_style,
                        "ov_course_type":ov_course_type,
                        "ov_coupon_id":ov_coupon_id,
                        "ov_coupon_type":ov_coupon_type,
                        "ov_video_address":ov_video_address,
                        "ov_oid":ov_oid,
                        "ov_series_time":ov_series_time,
//                      "ov_tags":ov_tags,
                        "ov_video_time":ov_video_time,
                        "ov_teacher_name":ov_teacher_name,
                    }
                },
                function (err, data) {
                    console.log(data);
                    if (err) {
                        return cb(err, data);
                    }

                    resultData = data;
                    cb();
                }
            );
        },
        //上传课程内容 全部删了 重新添加
        function(cb){
        console.log("4444444")
            R.SEND_HTTP(
                req,
                {
                    url    : CORE_APIConfig.coreAPI.deleteOrganizationVideoContent,
                    method : 'POST',
                    data : {
                        "ovc_ovid":ov_id,
                    }
                },
                function (err, data) {
                    console.log(data);
                    if(err){
                        return cb(err, data);
                    }
                    cb();
                }
            );

        },
        function(cb){
        console.log("5555555555")
            var tasks = [];

            //循环节点列表
            video_content.forEach(function (item, i) {
                //创建每一个插入任务
                tasks.push(function (cb) {

                    R.SEND_HTTP(
                        req,
                        {
                            url    : CORE_APIConfig.coreAPI.addOrganizationVideoContent,
                            method : 'POST',
                            data : {
                                "ovc_ovid":ov_id,
                                "ovc_type":item.type,
                                "ovc_order":item.order,
                                "ovc_content":item.content,
                            }
                        },
                        function (err, data) {
                            //console.log("拼团");
                            if(err){
                                return cb(err, data);
                            }
                            cb();
                        }
                    );

                });

            });
            async.waterfall(tasks, cb);
        }

    ],function(err, result){

        //返回最终拼接结果
        RES.response(res,true,resultData);

    });

}
